// 使用Node构建一个web服务器

// 1. 加载http核心模块
var http = require('http');

// 2. 使用http.createServer()方法创建一个web服务器，返回一个server实例
var server = http.createServer();

// 3. 接收请求，处理请求，发送响应
// 注册request请求事件
// 当客户端请求过来，就会自动触发服务器的request的请求事件，然后执行第二个参数：回调处理函数
// 回调函数接收2个参数
// request: 请求对象，请求对象可以用来获取客户端的一些请求信息，例如请求路径
// response： 响应对象，响应对象可以用来给客户端发送响应消息
server.on('request', function(request, response) {
    console.log('收到客户端的请求了，请求路径是: ' + request.url);

    // response具有一个write方法，可以用来给客户端发送响应数据
    // write可以使用多次，但是最后一定要使用end来结束，否则客户端会一直等待
    // response.write('hello');
    // response.write(' nodejs');

    // 告诉客户端，响应结束
    // response.end('Hello World');

    // 根据不同的请求路径，发送不同的响应结果
    // 1. 获取请求路径 2. 判断路径处理响应
    var url = request.url;

    if (url === '/') {
        response.end('index page');
    } else if (url === '/login') {
        response.end('login page');
    } else {
        response.end('404 Not Found');
    }

    // 响应内容只能是字符串，数字，对象，数组，布尔值都不行
    // var obj = {
    //     name: 'xx',
    //     age: 18
    // };
    // response.end(JSON.stringify(obj));
});

// 4. 绑定端口号，绑定服务器
server.listen(3000, function() {
    console.log('服务器启动成功了，可以通过 http://127.0.0.1:3000/ 来进行访问');
});